from pyspark import SparkConf, SparkContext

if __name__ == '__main__':
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)

    # textFile(param1, param2)
    # param1，必填，文件路径，支持本地文件、HDFS、S3协议等
    # param2，可选，表示最小分区数
    # 注：param2 话语权不足，Spark有自己的判断，在它允许的范围内，参数2有效果，超出Spark允许的范围，参数2失效

    # 通过textFile读取文件路径
    file_rdd1 = sc.textFile("../data/input/words.txt")
    print("默认读取分区数：", file_rdd1.getNumPartitions())
    print("file_rdd1 内容：", file_rdd1.collect())

    # +最小分区数参数的测试
    file_rdd2 = sc.textFile("../data/input/words.txt", 3)
    file_rdd3 = sc.textFile("../data/input/words.txt", 100)
    print("file_rdd2 分区数：", file_rdd2.getNumPartitions())
    print("file_rdd3 分区数：", file_rdd3.getNumPartitions())

    hdfs_rdd = sc.textFile("hdfs://11.50.138.178:8020/tmp/hc/pydemo/data/input/words.txt")
    print("hdfs_rdd 内容：", hdfs_rdd.collect())
